package Common 
{
	import Albums.AlbumIcon;
	import Core.Main;
	import fl.controls.Button;
	import flash.events.MouseEvent;
	/**
	 * ...
	 * @author Serg de Adelantado
	 */
	public class AlbumDeleteMessage extends AbstractMessage 
	{
		private var FAll:Button;
		private var FAlbumOnly:Button;
		private var FCancel:Button;
		private var FRoot:Main;
		private var FAlbum:AlbumIcon;
		
		public function AlbumDeleteMessage() 
		{
			super();
			FHeadrer.text = 'Удаление номера';
			
			FAll = new Button();
			FAll.label = 'Удалить все';
			FAll.useHandCursor = FAll.buttonMode = true;
			addChild(FAll);
			
			FAlbumOnly = new Button();
			FAlbumOnly.label = 'Только номер';
			FAlbumOnly.useHandCursor = FAlbumOnly.buttonMode = true;
			addChild(FAlbumOnly);
			
			FCancel = new Button();
			FCancel.label = 'Отмена';
			FCancel.useHandCursor = FCancel.buttonMode = true;
			addChild(FCancel);
			
			FAll.addEventListener(MouseEvent.MOUSE_DOWN, OnAll);
			FAlbumOnly.addEventListener(MouseEvent.MOUSE_DOWN, OnAlbumOnly);
			FCancel.addEventListener(MouseEvent.MOUSE_DOWN, OnCancel);			
			Resize();			
		}
		
		private function OnAll(e:MouseEvent):void 
		{
			FAlbum.DoDelete(true);
		}
		
		private function OnAlbumOnly(e:MouseEvent):void 
		{
			FAlbum.DoDeleteAlbum();
		}
		
		private function OnCancel(e:MouseEvent):void 
		{
			FRoot.UnBlur();
			FRoot.MessagesCore.visible = false;
		}
		
		override protected function SetSizes():void
		{
			FWidth = 512;
			FHeight = 256;			
		}
		
		override public function Resize():void 
		{			
			FHeadrer.height = FHeadrer.textHeight;
			FHeadrer.width = FWidth;
			FText.width = FWidth - 20;
			FText.height = FHeight - 40;
			FText.x = 10;
			FText.y = 30;
			
			FAlbumOnly.x = (FWidth - FAlbumOnly.width) / 2;
			FAll.x = FAlbumOnly.x - FAll.width - 20;
			FCancel.x = FAlbumOnly.x + FAlbumOnly.width + 20;			
			FAll.y = FAlbumOnly.y = FCancel.y = FHeight - FAll.height - 20;
		}
		
		public function set Album(AAlbum:AlbumIcon):void
		{
			FAlbum = AAlbum;
			var vText:String = 'Внимание! Удаление номера - необратимое действие. Удалить номер "' + FAlbum.Name + '"?' + '\n';
			vText += 'При нажатии кнопки "Удалить все" будут удалены номер, и находящиеся в нем фото.' + '\n'
			vText += 'При нажатии кнопки "Только номер" номер будет удален, но фото будут перенесены в главный альбом.';			
			Description = vText;
		}
		
		public function set Root(ARoot:Main):void 
		{
			FRoot = ARoot;			
		}
		
		public function get All():Button
		{ 
			return FAll;
		}
		
		public function get AlbumOnly():Button
		{ 
			return FAlbumOnly;
		}
		
		public function get Cancel():Button
		{ 
			return FCancel;
		}
	}
}